package com.huashi.dealer.enums;

/**
 * 枚举基类接口
 */
public interface EnumBasics {

    /**
     * 获取枚举值
     * @return 枚举值
     */
    Object getValue();

    /**
     * 获取枚举名称
     * @return 枚举名称
     */
    String getName();

    /**
     * 获取枚举数据
     * @return 枚举数组
     */
    EnumBasics[] data();

    /**
     * 根据值获取枚举
     * @param value 枚举值
     * @return 枚举对象
     */
    static EnumBasics getByValue(EnumBasics[] enums, Object value) {
        if (value == null) {
            return null;
        }
        for (EnumBasics enumItem : enums) {
            if (enumItem.getValue().equals(value)) {
                return enumItem;
            }
        }
        return null;
    }
} 